package com.digital.smartgrow.service.expert;

import com.digital.smartgrow.dto.expert.ExpertAttendDTO;
import com.digital.smartgrow.dto.expert.ExpertPlanPageDTO;
import com.digital.smartgrow.entity.expert.ExpertPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import com.digital.smartgrow.vo.expert.ExpertGroupVo;
import com.digital.smartgrow.vo.expert.ExpertPlanVo;

import java.util.List;

/**
 * <p>
 * 专家方案 服务类
 * </p>
 *
 * @author sunyuechao
 * @since 2022-07-18
 */
public interface ExpertPlanService extends IService<ExpertPlan> {

 Object getListByPage(ExpertPlanPageDTO expertPlanPageDTO);

   ExpertPlanVo getInfo(Integer id);

    Object saveAll(ExpertPlanVo expertPlanVo);

    Object updateAll(ExpertPlanVo expertPlanVo);

    Object removeAll(Integer id);

    /**
     * 开始抽选
     * @param id
     * @return
     */
    List<ExpertGroupVo> chooseStart(Integer id);

    /**
     * 停止抽选
     * @param expertChoose
     * @return
     */
    List<ExpertGroupVo> chooseEnd(List<ExpertGroupVo> expertChoose);

    /**
     * 保存抽选
     * @param expertChoose
     * @return
     */
    Object chooseSave(List<ExpertGroupVo> expertChoose);

    Object attend(ExpertAttendDTO expertAttendDTO);
}
